﻿using System;
using System.Collections.Generic;
using Microsoft.Xna.Framework;
using Microsoft.Xna.Framework.Graphics;
using System.Threading;
using Microsoft.Xna.Framework.Content;

namespace Ivory
{
    public abstract class MenuScreen : Screenbase {
        //Fields
        public bool isMainMenu = false; //Forced by user

        //Construct
        public MenuScreen(Game game)
            : base(game)
        {

        }

        //Methods
        #region #@@ Drawing @@#
        public override void drawScreen(SpriteBatch batch, GameTime time)
        {
            RenderMenu(batch, time); 
        }

        public abstract void RenderMenu(SpriteBatch batch, GameTime time);
        
        #endregion

        #region #@@ Updating @@#
        public override void updateScreen(GameTime time)
        {
            //Update the game logic.
            UpdateMenu(time);
        }

        public abstract void UpdateMenu(GameTime time);

        #endregion

        #region #@@ Loading @@#
        public override void loadScreen(ContentManager content)
        {
            
        }
        public override void preLoad(ContentManager content)
        {
            LoadAssets(content);
        }

        public abstract bool LoadAssets(ContentManager content);

        #endregion
    }
}
